home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / basappl9.arc / BALCHECK.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-08-20  |  7.8 KB  |  245 lines

  1. 10  REM
  2. 20  REM PROGRAM FOR CHECKBOOK BALANCING
  3. 30  REM CLEAR THE SCREEN
  4. 40  DIM CK#(99),DP#(99)
  5. 50  GOSUB 2910
  6. 60  REM GET BANK STATEMENT INVOICE
  7. 70  INPUT "          Enter the bank statement balance please:   ";BB#
  8. 80  GOSUB 2910
  9. 90  PRINT "Enter the outstanding deposits (deposits you have made, but "
  10. 100  PRINT "that have not been shown on your bank statements)."
  11. 110  PRINT
  12. 120  PRINT "After you have entered your last outstanding deposit, enter -1."
  13. 130  PRINT
  14. 140  ID% = 0
  15. 150  ID% = ID% + 1
  16. 160  PRINT " Enter deposit amount (-1. ends entries):";ID%;" = ";
  17. 170  INPUT DP#(ID%)
  18. 180  IF(DP#(ID%)<>-1) GOTO 150
  19. 190  GOSUB 2910
  20. 200  PRINT "Enter your outstanding checks (checks you have written, but"
  21. 210  PRINT "that have not been returned with your bank statements)."
  22. 220  PRINT
  23. 230  PRINT " After you have entered your last outstanding check, enter -1."
  24. 240  PRINT
  25. 250  IC% = 0
  26. 260  IC% = IC% + 1
  27. 270  PRINT " Enter check amount (-1. ends entries):";IC%;" = ";
  28. 280  INPUT CK#(IC%)
  29. 290  IF(CK#(IC%)<>-1) GOTO 260
  30. 300  GOSUB 2910
  31. 310  INPUT "     Enter your checkbook balance please:   ";CB#
  32. 320  ID%=ID% - 1
  33. 330  IC% = IC% - 1
  34. 340  GOSUB 360
  35. 350  GOTO 1050
  36. 360  REM CLEAR SCREEN
  37. 370  GOSUB 2910
  38. 380  REM CALCULATE AND PRINT TO SCREEN AND PRINTER
  39. 390  PRINT "Enter P to get printer output.  Otherwise, enter any key:   "
  40. 400  INPUT PT$
  41. 410  PRINT "     COMPLETING CALCULATIONS NOW:"
  42. 420  PRINT
  43. 430  PRINT USING "       $$######.##";BB#;
  44. 440  PRINT " = bank statement balance"
  45. 450  PRINT
  46. 460  IF (PT$<>"P") GOTO 550
  47. 470  REM SEND TO THE PRINTER
  48. 480  LPRINT CHR$(12)
  49. 490  LPRINT
  50. 500  LPRINT "C H E C K   B O O K   B A L A N C I N G   P R O G R A M :"
  51. 510  LPRINT
  52. 520  LPRINT USING "$$######>##";BB#;
  53. 530  LPRINT " = bank statement balance"
  54. 540  LPRINT
  55. 550  BC#=BB#
  56. 560  IF(ID%=0)GOTO 650
  57. 570  FOR I = 1 TO ID%
  58. 580  BC# = BC# + DP#(I)
  59. 590  PRINT USING "       $$######.##";DP#(I);
  60. 600  PRINT "  (";I;" = deposit entry number)"
  61. 610  IF (PT$<>"P")GOTO 640
  62. 620  LPRINT USING "$$######>##";DP#(I);
  63. 630  LPRINT "  (";I;" = DEPOSIT ENTRY NUMBER)"
  64. 640  NEXT I
  65. 650  PRINT
  66. 660  IF (PT$<>"P")GOTO 680
  67. 670  LPRINT
  68. 680  IF(IC%=0)GOTO 770
  69. 690  FOR I = 1 TO IC%
  70. 700  BC#=BC#-CK#(I)
  71. 710  PRINT USING "       $$######.##";CK#(I);
  72. 720  PRINT "  (";I;" = check entry number)"
  73. 730  IF(PT$<>"P")GOTO 760
  74. 740  LPRINT USING "$$######.##";CK#(I);
  75. 750  LPRINT "  (";I;" = check entry number)"
  76. 760  NEXT I
  77. 770  PRINT
  78. 780  IF(PT$<>"P")GOTO 800
  79. 790  LPRINT
  80. 800  PRINT USING "       $$######.##";CB#;
  81. 810  PRINT " = check book balance"
  82. 820  PRINT
  83. 830  IF(PT$<>"P")GOTO 870
  84. 840  LPRINT USING "$$######.##";CB#;
  85. 850  LPRINT " = checkbook balance"
  86. 860  LPRINT
  87. 870  PRINT USING "       $$######.##";BC#;
  88. 880  PRINT " = statement + deposits - checks"
  89. 890  PRINT
  90. 900  IF(PT$<>"P")GOTO 940
  91. 910  LPRINT USING "$$######.##";BC#;
  92. 920  LPRINT " = statement + deposits - checks"
  93. 930  LPRINT
  94. 940  DF# = BC# - CB#
  95. 950  PRINT USING "       $$######.##";DF#;
  96. 960  PRINT " = DIFFERENCE between the check book balance and"
  97. 970  PRINT "             the calculated balance."
  98. 980  IF(PT$<>"P")GOTO 1010
  99. 990  LPRINT USING "$$######>##";DF#;
  100. 1000  LPRINT " = AMOUNT OUT OF BALANCE"
  101. 1010  PRINT
  102. 1020  PRINT "ENTER to continue."
  103. 1030  INPUT A$
  104. 1040  RETURN
  105. 1050  GOSUB 2910
  106. 1060  PRINT "ENTER THE NUMBER OF THE ACTION YOU WANT TO TAKE:"
  107. 1070  PRINT
  108. 1080  PRINT "            1 = CHANGE the bank STATEMENT balance"
  109. 1090  PRINT "            2 = CHANGE one of the DEPOSIT amounts"
  110. 1100  PRINT "            3 = CHANGE one of the CHECK amounts"
  111. 1110  PRINT "            4 = CHANGE the check BOOK balance"
  112. 1120  PRINT
  113. 1130  PRINT "            5 = ADD a DEPOSIT"
  114. 1140  PRINT "            6 = ADD a CHECK"
  115. 1150  PRINT
  116. 1160  PRINT "            7 = REMOVE a DEPOSIT"
  117. 1170  PRINT "            8 = REMOVE a CHECK"
  118. 1180  PRINT
  119. 1190  PRINT "            9 = CALCULATE balance again"
  120. 1200  PRINT
  121. 1210  PRINT "           10 = END the program"
  122. 1220  PRINT
  123. 1230  INPUT "    ENTER your choice now, please:   ";IN$
  124. 1240  IF(IN$="1")GOTO 1360
  125. 1250  IF(IN$="2")GOTO 1480
  126. 1260  IF(IN$="3")GOTO 1710
  127. 1270  IF(IN$="4")GOTO 1940
  128. 1280  IF(IN$="5")GOTO 2060
  129. 1290  IF(IN$="6")GOTO 2150
  130. 1300  IF(IN$="7")GOTO 2240
  131. 1310  IF(IN$="8")GOTO 2560
  132. 1320  IF(IN$="9")GOTO 2880
  133. 1330  IF(IN$="10")GOTO 2980
  134. 1340  INPUT "You MUST enter a # between 1 and 10! ENTER to CONTINUE";IN$
  135. 1350  GOTO 1050
  136. 1360  GOSUB 2910
  137. 1370  REM CHANGE the bank STATEMENT balance
  138. 1380  PRINT USING "      $$######.##";BB#;
  139. 1390  PRINT " = CURRENT bank statement balance"
  140. 1400  PRINT
  141. 1410  PRINT "Enter a NEW bank statement balance, or enter -1. to keep ";
  142. 1420  PRINT "the CURRENT balance:  "
  143. 1430  PRINT
  144. 1440  INPUT IN#
  145. 1450  IF(IN#=-1)GOTO 1050
  146. 1460  BB# = IN#
  147. 1470  GOTO 1050
  148. 1480  GOSUB 2910
  149. 1490  REM CHANGE one of the DEPOSIT amounts
  150. 1500  PRINT "Enter the deposit ENTRY NUMBER for the deposit you want ";
  151. 1510  INPUT "to change";CH%
  152. 1520  PRINT
  153. 1530  REM MAKE SURE THE NUMBER ENTERED IS NOT LARGER THAN THE LARGEST
  154. 1540  REM DEPOSIT ENTRY NUMBER AND BRANCH TO ERROR MESSAGE IF IT IS LARGER
  155. 1550  IF (CH%>ID%) GOTO 1680
  156. 1560  PRINT "The CURRENT deposit amount is:"
  157. 1570  PRINT
  158. 1580  PRINT USING "          $$######.##";DP#(CH%);
  159. 1590  PRINT "  (";CH%;" = deposit entry number)"
  160. 1600  PRINT
  161. 1610  PRINT "Enter a NEW deposit amount, or enter -1. to keep";
  162. 1620  PRINT "the CURRENT amount:  "
  163. 1630  PRINT
  164. 1640  INPUT IN#
  165. 1650  IF (IN#=-1) GOTO 1050
  166. 1660  DP#(CH%) = IN#
  167. 1670  GOTO 1050
  168. 1680  PRINT ID%;" is the largest input value possible.  Enter any key to "
  169. 1690  INPUT :TRY AGAIN:  ";in$
  170. 1700  GOTO 1480
  171. 1710  GOSUB 2910
  172. 1720  REM CHANGE one of the CHECK amounts
  173. 1730  PRINT "Enter the check ENTRY NUMBER for the check you want ";
  174. 1740  INPUT "to change";CH%
  175. 1750  PRINT
  176. 1760  REM MAKE SURE THE NUMBER ENTERED IS NOT LARGER THAN THE LARGEST
  177. 1770  REM CHECK ENTRY NUMBER AND BRANCH TO ERROR MESSAGE IF IT IS LARGER
  178. 1780  IF (CH%>IC%) GOTO 1910
  179. 1790  PRINT "The CURRENT check amount is:"
  180. 1800  PRINT
  181. 1810  PRINT USING "          $$######>##";CK#(CH%);
  182. 1820  PRINT "  (";CH%;" = check entry number)"
  183. 1830  PRINT
  184. 1840  PRINT "Enter a NEW check amount, or enter -1. to keep ";
  185. 1850  PRINT "the CURRENT amount:  "
  186. 1860  PRINT
  187. 1870  INPUT IN#
  188. 1880  IF (IN#=-1) GOTO 1050
  189. 1890  CK#(CH%) = IN#
  190. 1900  GOTO 1050
  191. 1910  PRINT IC%;" is the largest input value possible.  Enter any key to"
  192. 1920  INPUT "try again:  ";IN$
  193. 1930  GOTO 1710
  194. 1940  GOSUB 2910
  195. 1950  REM CHANGE the check BOOK balance
  196. 1960  PRINT USING "     $$######.##";CB#;
  197. 1970  PRINT " = CURRENT check book balance"
  198. 1980  PRINT
  199. 1990  PRINT "Enter a NEW check book balance, or enter -1. to keep ";
  200. 2000  PRINT "the CURRENT balance:  "
  201. 2010  PRINT
  202. 2020  INPUT IN#
  203. 2030  IF(IN#=-1)GOTO 1050
  204. 2040  CB# = IN#
  205. 2050  GOTO 1050
  206. 2060  GOSUB 2910
  207. 2070  REM ADD a DEPOSIT
  208. 2080  PRINT "Enter the NEW deposit amount, or enter -1. to return ";
  209. 2090  PRINT "WITHOUT adding "
  210. 2100  INPUT "a deposit:  ";IN#
  211. 2110  IF (IN#=-1) GOTO 1050
  212. 2120  ID% = ID% + 1
  213. 2130  DP#(ID%) = IN#
  214. 2140  GOTO 1050
  215. 2150  GOSUB 2910
  216. 2160  REM ADD a CHECK
  217. 2170  PRINT "Enter the NEW check amount, or enter -1. to return";
  218. 2180  PRINT "WITHOUT adding"
  219. 2190  INPUT "a check:  ";IN#
  220. 2200  IF (IN#=-1) GOTO 1050
  221. 2210  IC% = IC% + 1
  222. 2220  CK#(IC%) = IN#
  223. 2230  GOTO 1050
  224. 2240  GOSUB 2910
  225. 2250  REM REMOVE a DEPOSIT
  226. 2260  PRINT "Enter the deposit ENTRY NUMBER for the deposit you want ";
  227. 2270  INPUT "to remove";CH%
  228. 2280  PRINT
  229. 2290  REM MAKE SURE THE NUMBER ENTERED IS NOT LARGER THAN THE LARGEST
  230. 2300  REM DEPOSIT ENTRY NUMBER AND BRANCH TO ERROR MESSAGE IF IT IS LARGER
  231. 2310  IF (CH%>ID%) GOTO 2530
  232. 2320  PRINT "The CURRENT deposit amount is:"
  233. 2330  PRINT
  234. 2340  PRINT USING "          $$######.##";DP#(CH%);
  235. 2350  PRINT "  (";CH%;" =  deposit entry number)"
  236. 2360  PRINT
  237. 2370  PRINT "Enter KILL to REMOVE this deposit, or enter any key to keep";
  238. 2380  PRINT "the CURRENT amount:  "
  239. 2390  PRINT
  240. 2400  INPUT IV$
  241. 2410  IF(IV$<>"KILL") GOTO 1050
  242. 2420  IF (CH%<ID%) GOTO 2460
  243. 2430  ID% = ID% - 1
  244. 2440  DP#(CH%) = 0
  245.